{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import caffe\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# set display defaults\n",
    "plt.rcParams['figure.figsize'] = (6, 6)        # large images\n",
    "plt.rcParams['image.interpolation'] = 'nearest'  # don't interpolate: show square pixels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "caffe.set_mode_gpu()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "model_def = \"/home/ubuntu/nexar/caffe/squeeze_net/deploy.prototxt\"\n",
    "model_weights = \"/home/ubuntu/nexar/caffe/squeeze_net_trainval_manual/snapshots_p2/train_squeezenet_trainval_manual_p2__iter_3817.caffemodel\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def class_idx_to_name(idx):\n",
    "    return ['none', 'red', 'green'][idx]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "from caffe.classifier import Classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "c = Classifier(\n",
    "           model_def, \n",
    "           model_weights, \n",
    "           mean=np.array([104, 117, 123]),\n",
    "           raw_scale=255,\n",
    "           channel_swap=(2,1,0),\n",
    "           image_dims=(256, 256)\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# set batch size\n",
    "BATCH_SIZE = 64\n",
    "c.blobs['data'].reshape(BATCH_SIZE, 3, c.blobs['data'].shape[2], c.blobs['data'].shape[3])\n",
    "c.blobs['prob'].reshape(BATCH_SIZE, 3)\n",
    "c.reshape()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "b93dacc37857cbf1bc1462eeda249164.jpg\n",
      "predicted class is: red\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nCfxvvwkqvOZ1ZEIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fdb0825ab10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import os, random\n",
    "\n",
    "images_path = '/mnt/nexar_challenge1_test/'\n",
    "\n",
    "f = random.choice(os.listdir(images_path))\n",
    "print f\n",
    "image = caffe.io.load_image(images_path + f)\n",
    "cls = c.predict([image]).argmax()\n",
    "plt.imshow(image)\n",
    "plt.axis('off')\n",
    "print 'predicted class is:', class_idx_to_name(cls)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "478400 images in test-set\n"
     ]
    }
   ],
   "source": [
    "images_paths = os.listdir(images_path)\n",
    "print \"%d images in test-set\" % len(images_paths)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of batches: 7475.0\n"
     ]
    }
   ],
   "source": [
    "print \"Number of batches: %s\" % (len(images_paths) / float(BATCH_SIZE),)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "class      int32\n",
      "p0       float64\n",
      "p1       float64\n",
      "p2       float64\n",
      "dtype: object\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "df = pd.DataFrame(index=images_paths, columns=['class', 'p0', 'p1', 'p2'])\n",
    "df['class'] = -1 * np.ones(len(df), dtype='int32')\n",
    "df['p0'] = np.nan * np.ones(len(df), dtype='float64')\n",
    "df['p1'] = np.nan * np.ones(len(df), dtype='float64')\n",
    "df['p2'] = np.nan * np.ones(len(df), dtype='float64')\n",
    "print df.dtypes\n",
    "df.to_csv(\"/home/ubuntu/nexar/label_test_set/s3/squeeze_net_trainval_manual__os.csv\", index_label='fname')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def read_imgs(images_paths):\n",
    "    print \"Reading images\"\n",
    "    imgs = []\n",
    "    for i, f in enumerate(images_paths):\n",
    "        print \"\\rAt: %s\" % i,\n",
    "        img = caffe.io.load_image(images_path + f)\n",
    "        imgs.append(img)\n",
    "    print \"Read %d images\" % len(imgs)\n",
    "    return imgs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "num_classes = 3\n",
    "def predict(c, imgs, oversample):\n",
    "    probs = np.zeros((0, num_classes))\n",
    "    for i in xrange(0, len(imgs), BATCH_SIZE):\n",
    "        print \"\\rAt:\", i,\n",
    "        input_batch = imgs[i : i+BATCH_SIZE]\n",
    "        output = c.predict(input_batch, oversample=oversample).reshape((len(input_batch), num_classes))\n",
    "        probs = np.vstack((probs, output))\n",
    "    return probs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from scipy import ndimage\n",
    "\n",
    "def get_rots(imgs):\n",
    "    rot1 = [np.rot90(i, 1) for i in imgs]\n",
    "    rot2 = [np.rot90(i, 2) for i in imgs]\n",
    "    rot3 = [np.rot90(i, 3) for i in imgs]\n",
    "    rot4 = [np.rot90(i, 4) for i in imgs]\n",
    "    return [rot1, rot2, rot3, rot4]\n",
    "\n",
    "def get_probs_with_rots(imgs, c, oversample=False):\n",
    "    rots = get_rots(imgs)\n",
    "    probs = []\n",
    "    for i, rot in enumerate(rots):\n",
    "        print \"rot %s\" % i\n",
    "        probs.append(predict(c, rot, oversample=oversample))\n",
    "\n",
    "    rots_avg = np.mean(probs, axis=0)\n",
    "    return rots_avg"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "UBER_BATCH = 25"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Batch: 0\n",
      "Reading images\n",
      "At: 1517 "
     ]
    }
   ],
   "source": [
    "for i in xrange(0, len(images_paths), BATCH_SIZE * UBER_BATCH):\n",
    "    print \"Batch: %d\" % i\n",
    "    img_names = images_paths[i : i + BATCH_SIZE * UBER_BATCH]\n",
    "    imgs = read_imgs(images_paths[i : i + BATCH_SIZE * UBER_BATCH])\n",
    "    probs = predict(c, imgs, oversample=True)\n",
    "    \n",
    "    for j in xrange(3):\n",
    "        df.loc[img_names, 'p%d' % j] = probs[:, j]\n",
    "    df.loc[img_names, 'class'] = probs.argmax(axis=1)\n",
    "    \n",
    "    df.to_csv(\"/home/ubuntu/nexar/label_test_set/s3/squeeze_net_trainval_manual__os.csv\", index_label='fname', float_format='%.15f')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
